如何用vba在字符串文本的任意位置开始替换插入字符串文本? |
您所在的位置:网站首页 › excel vba 替换word中的字符串 › 如何用vba在字符串文本的任意位置开始替换插入字符串文本? |
如何用vba在字符串文本的任意位置开始替换插入字符串文本?
2019年11月30日
作者:水星Excel
6,014 次浏览
暂无评论
各位同学,大家好。 今天我们介绍一个比较普遍,但是用vba实现起来又比较麻烦的一个需求。 比如有如下的字符串 100+100/2+100-100/2 现在要把从左到右第5个位置开始的100/2中的100替换为0.1。 如果直接用Replace函数,代码如下: Sub QQ1722187970() Dim sText As String sText = "100+100/2+100-100/2" Debug.Print VBA.Replace(sText, "100", "0.1") End Sub得到的结果是 0.1+0.1/2+0.1-0.1/2 也就是全部100都被替换了。 接下来,我们详细学习下Replace函数的语法 Replace(expression,find,*replace[,start[,count[,compare]]]*) Replace函数可以把一个字符串中的部分字符串批量替换为其它字符串。 其中expression参数表示被查找的字符串,find参数表示要查找的字符串,replace参数表示要替换的字符串,start表示从什么位置开始查找,count表示要替换多少个找到的字符串,compare参数表示是怎么匹配。 根据上述的语法分析,通过设置start参数和count参数可以有选择的从任意位置开始替换任意个匹配到的字符串。 现在我们知道要替换的字符串的起始位置是5,我们可以使用如下的代码: Sub QQ1722187970() Dim sText As String sText = "100+100/2+100-100/2" Debug.Print Left(sText, 4) & VBA.Replace(sText, "100", "0.1", 5, 1) End Sub也就是给定的任意一个字符串x,如果要从指定的位置y处开始查找要替换的字符串m,替换为字符串n,可以使用如下的vba通用代码: Left(sText, y-1) & VBA.Replace(x, m, n, y, 1) 其它相关文章推荐:excel vba Range对象的Characters属性无效的解决办法如何用vba查找替换word文档中的英文引号为空,而不包含中文引号?如何用vba为word文档中的所有表格自动插入题注和交叉引用?如何用vba遍历含有合并单元格的word表格?如何在word中查找替换某个字符但是保留指定的词语?如何用vba批量删除Word文档中的空白页? 分类 : VBA , VBA 基础知识 标签 : replace , 插入字符串 , 替换字符串 , 查找字符串的位置 声明: 本站文章均属原创,未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则视为侵权。如果想要每天都收到本站的技术文章推送,可以微信搜索公众号:水星Excel或者Excel_Office关注。其它事宜请加QQ:1722187970 或微信号:xycgenius 联系。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |